/**
 * 音效工具函数
 */

/**
 * 播放按钮音效
 * @param {string} soundPath - 音效文件路径，默认为按钮音效
 * @returns {Promise} - 音效播放的Promise
 */
export function playSound(soundPath = "/button.mp3") {
  return new Promise((resolve, reject) => {
    try {
      const audio = new Audio(soundPath)

      audio.onended = () => {
        resolve()
      }

      audio.onerror = (error) => {
        console.error("音效播放失败:", error)
        reject(error)
      }

      audio.play().catch((error) => {
        console.error("音效播放失败:", error)
        reject(error)
      })
    } catch (error) {
      console.error("音效播放失败:", error)
      reject(error)
    }
  })
}

/**
 * 播放按钮音效的简化版本
 */
/**
 * 播放按钮音效
 * @param {'button'|'ai-button'} type - 音效类型
 */
export function playButtonSound(type = "button") {
  const soundPath = type === "ai-button" ? "/ai-button.mp3" : "/button.mp3"
  playSound(soundPath).catch(() => {})
}
